/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package systole.persistence.brokersInterface;

import java.util.List;
import systole.domain.report.template.Conclusion;
import systole.exceptions.ExceptionDAO;

/**
 *
 * @author jmj
 */
public interface ConclusionBroker {

    /**
     * @param conclusion
     * @throws ExceptionDAO
     */
    public void insert(Conclusion conclusion) throws ExceptionDAO;

    /**
     * @param conclusion
     * @throws ExceptionDAO
     */
    public void update(Conclusion conclusion) throws ExceptionDAO;

    /**
     * @return List of conclusions.
     * @throws ExceptionDAO
     */
    public List<Conclusion> getAllConclusions() throws ExceptionDAO;

    /**
     * @return List of Conclusions for male.
     * @throws ExceptionDAO
     */
    public List<Conclusion> getConclusionsForMale() throws ExceptionDAO;

    /**
     * @return List of Conclusions for female.
     * @throws ExceptionDAO
     */
    public List<Conclusion> getConclusionsForFemale() throws ExceptionDAO;

    /**
     *
     * @param name
     * @param id
     * @return if conclusion exist
     * @throws ExceptionDAO
     */
    public boolean existConclusion(String name, Integer id)throws ExceptionDAO;
}
